CXX=g++
CXXFLAGS=-DIB_USE_STD_STRING -Wall -Wno-switch
ROOT_DIR=..
BASE_SRC_DIR=${ROOT_DIR}/PosixSocketClient
INC_DIR=include/
LIB_DIR=lib/
OBJ_DIR=obj/
OBJECTS=obj/main.o obj/EClientSocketBase.o obj/EPosixClientSocket.o obj/PosixTestClient.o obj/common.o obj/parser.o
C_OBJ=obj/ClientConnect.o obj/ClientReq.o obj/ClientOrder.o obj/ClientTrader.o

INCLUDES=-I${ROOT_DIR}/Shared/ -I${BASE_SRC_DIR} -I$(INC_DIR)
TARGET=project

all:
	make clean
	make $(TARGET)

$(TARGET):
	$(CXX) $(CXXFLAGS) $(INCLUDES) -o $(OBJ_DIR)EClientSocketBase.o -c $(BASE_SRC_DIR)/EClientSocketBase.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDES) -o $(OBJ_DIR)EPosixClientSocket.o -c $(BASE_SRC_DIR)/EPosixClientSocket.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDES) -o $(OBJ_DIR)PosixTestClient.o -c $(LIB_DIR)PosixTestClient.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDES) -o $(OBJ_DIR)common.o -c $(LIB_DIR)common.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDES) -o $(OBJ_DIR)parser.o -c $(LIB_DIR)parser.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDES) -o $(OBJ_DIR)ClientConnect.o -c $(LIB_DIR)ClientConnect.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDES) -o $(OBJ_DIR)ClientReq.o -c $(LIB_DIR)ClientReq.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDES) -o $(OBJ_DIR)ClientOrder.o -c $(LIB_DIR)ClientOrder.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDES) -o $(OBJ_DIR)ClientTrader.o -c $(LIB_DIR)ClientTrader.cpp
	#$(CXX) $(CXXFLAGS) $(INCLUDES) -o $(OBJ_DIR)MyObject.o -c $(LIB_DIR)MySourceCode.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDES) -o $(OBJ_DIR)main.o -c main.cpp
	$(CXX) $(CXXFLAGS) $(INCLUDES) -lncurses -o $@ $(OBJECTS)

clean:
	rm -f $(TARGET) $(OBJ_DIR)* $(LIB_DIR)*~ $(INC_DIR)*~ ./*~

